  /* IranSans — hosted on Tebnex */
  @font-face {
    font-family: "TebnexIranSans";
    src: url("https://tebnex.com/wp-content/uploads/2026/10/IRANSansWebFaNum_Bold.woff")
         format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  #tnx-loader,
  #tnx-loader * {
    box-sizing: border-box;
  }

  #tnx-loader {
    position: fixed;
    inset: 0;
    z-index: 2147483000;

    display: grid;
    place-items: center;
    overflow: hidden;

    direction: rtl;

    background:
      radial-gradient(
        ellipse at 50% 44%,
        rgba(61, 116, 255, .075) 0%,
        rgba(61, 116, 255, .025) 32%,
        transparent 62%
      ),
      rgba(248, 250, 254, .93);

    -webkit-backdrop-filter: blur(13px);
    backdrop-filter: blur(13px);

    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transition:
      opacity .4s ease,
      visibility .4s ease;
  }

  #tnx-loader .tnx-loader__content {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;

    width: 200px;
    padding: 20px;
    text-align: center;
  }

  /* هندسه ثابت بی‌نهایت */
  #tnx-loader .tnx-loader__symbol {
    display: block;
    width: 112px;
    height: 76px;

    overflow: visible;
    flex: none;
  }

  #tnx-loader .tnx-loader__base {
    fill: none;
    stroke: url(#tnx-infinity-base);
    stroke-width: 4.1;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  /* هاله محدود برای خط متحرک */
  #tnx-loader .tnx-loader__trace-glow {
    fill: none;
    stroke: url(#tnx-infinity-gradient);
    stroke-width: 7;
    stroke-linecap: round;
    stroke-linejoin: round;

    stroke-dasharray: 115 885;
    stroke-dashoffset: 0;

    opacity: .24;
    filter: drop-shadow(0 0 2px rgba(49, 108, 255, .2));

    animation: tnx-trace-path 2.4s linear infinite;
  }

  /* تنها بخش متحرک اصلی */
  #tnx-loader .tnx-loader__trace {
    fill: none;
    stroke: url(#tnx-infinity-gradient);
    stroke-width: 4.2;
    stroke-linecap: round;
    stroke-linejoin: round;

    stroke-dasharray: 115 885;
    stroke-dashoffset: 0;

    animation: tnx-trace-path 2.4s linear infinite;
  }

  /* فقط نام برند؛ بدون متن اضافه */
  #tnx-loader .tnx-loader__brand {
    margin-top: 4px;

    font-family: "TebnexIranSans";
    font-weight: 700;
    font-size: 23px;
    line-height: 1.9;

    color: #142A4C;
    letter-spacing: -.4px;

    text-align: center;
    white-space: nowrap;

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }

  #tnx-loader.tnx-loader--hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  @keyframes tnx-trace-path {
    from {
      stroke-dashoffset: 0;
    }
    to {
      stroke-dashoffset: -1000;
    }
  }

  @media (max-width: 480px) {
    #tnx-loader .tnx-loader__symbol {
      width: 102px;
      height: 69px;
    }

    #tnx-loader .tnx-loader__brand {
      font-size: 22px;
    }

    #tnx-loader {
      -webkit-backdrop-filter: blur(9px);
      backdrop-filter: blur(9px);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #tnx-loader .tnx-loader__trace,
    #tnx-loader .tnx-loader__trace-glow {
      animation: none !important;
    }

    #tnx-loader {
      transition-duration: .01ms;
    }
  }